#include <stdio.h>
#include <string.h>
#define N 101

int cmp(int a,int b)
{
    return a>b?a:b;
}


int main(void) {
    char X[N+1],Z[N+1];
    while(scanf("%s%s",X+1,Z+1)!=EOF)
    {
        X[0]=' ';
        Z[0]=' ';
        int L=strlen(X);
        int T=strlen(Z);
        int dp[N][N]={0};
        for(int i=1;i<L;i++)
        {
            for(int j=1;j<T;j++)
            {
                if(X[i]==Z[j])
                {
                    dp[i][j]=dp[i-1][j-1]+1;
                }
                else
                {
                    dp[i][j]=cmp(dp[i-1][j],dp[i][j-1]);
                }
            }
        }
//        for(int i=0;i<L;i++)
//        {
//            for(int j=0;j<T;j++)
//            {
//                printf("%d\t",dp[i][j]);
//            }
//            printf("\n");
//        }
        printf("%d\n",dp[L-1][T-1]);
    }

    return 0;
}
